(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
a(b(x1)) → c(d(x1))
d(d(x1)) → b(e(x1))
b(x1) → d(c(x1))
d(x1) → x1
e(c(x1)) → d(a(x1))
a(x1) → e(d(x1))
Rewrite Strategy: INNERMOST
(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)
Converted CpxTRS to CDT
(2) Obligation:
Complexity Dependency Tuples Problem
Rules:
a(b(z0)) → c(d(z0))
a(z0) → e(d(z0))
d(d(z0)) → b(e(z0))
d(z0) → z0
b(z0) → d(c(z0))
e(c(z0)) → d(a(z0))
Tuples:
A(b(z0)) → c1(D(z0))
A(z0) → c2(E(d(z0)), D(z0))
D(d(z0)) → c3(B(e(z0)), E(z0))
B(z0) → c5(D(c(z0)))
E(c(z0)) → c6(D(a(z0)), A(z0))
S tuples:
A(b(z0)) → c1(D(z0))
A(z0) → c2(E(d(z0)), D(z0))
D(d(z0)) → c3(B(e(z0)), E(z0))
B(z0) → c5(D(c(z0)))
E(c(z0)) → c6(D(a(z0)), A(z0))
K tuples:none
Defined Rule Symbols:
a, d, b, e
Defined Pair Symbols:
A, D, B, E
Compound Symbols:
c1, c2, c3, c5, c6
(3) CdtUnreachableProof (EQUIVALENT transformation)
The following tuples could be removed as they are not reachable from basic start terms:
A(b(z0)) → c1(D(z0))
D(d(z0)) → c3(B(e(z0)), E(z0))
(4) Obligation:
Complexity Dependency Tuples Problem
Rules:
a(b(z0)) → c(d(z0))
a(z0) → e(d(z0))
d(d(z0)) → b(e(z0))
d(z0) → z0
b(z0) → d(c(z0))
e(c(z0)) → d(a(z0))
Tuples:
A(z0) → c2(E(d(z0)), D(z0))
B(z0) → c5(D(c(z0)))
E(c(z0)) → c6(D(a(z0)), A(z0))
S tuples:
A(z0) → c2(E(d(z0)), D(z0))
B(z0) → c5(D(c(z0)))
E(c(z0)) → c6(D(a(z0)), A(z0))
K tuples:none
Defined Rule Symbols:
a, d, b, e
Defined Pair Symbols:
A, B, E
Compound Symbols:
c2, c5, c6
(5) CdtGraphRemoveDanglingProof (ComplexityIfPolyImplication transformation)
Removed 1 of 3 dangling nodes:
B(z0) → c5(D(c(z0)))
(6) Obligation:
Complexity Dependency Tuples Problem
Rules:
a(b(z0)) → c(d(z0))
a(z0) → e(d(z0))
d(d(z0)) → b(e(z0))
d(z0) → z0
b(z0) → d(c(z0))
e(c(z0)) → d(a(z0))
Tuples:
A(z0) → c2(E(d(z0)), D(z0))
E(c(z0)) → c6(D(a(z0)), A(z0))
S tuples:
A(z0) → c2(E(d(z0)), D(z0))
E(c(z0)) → c6(D(a(z0)), A(z0))
K tuples:none
Defined Rule Symbols:
a, d, b, e
Defined Pair Symbols:
A, E
Compound Symbols:
c2, c6
(7) CdtGraphRemoveTrailingProof (BOTH BOUNDS(ID, ID) transformation)
Removed 2 trailing tuple parts
(8) Obligation:
Complexity Dependency Tuples Problem
Rules:
a(b(z0)) → c(d(z0))
a(z0) → e(d(z0))
d(d(z0)) → b(e(z0))
d(z0) → z0
b(z0) → d(c(z0))
e(c(z0)) → d(a(z0))
Tuples:
A(z0) → c2(E(d(z0)))
E(c(z0)) → c6(A(z0))
S tuples:
A(z0) → c2(E(d(z0)))
E(c(z0)) → c6(A(z0))
K tuples:none
Defined Rule Symbols:
a, d, b, e
Defined Pair Symbols:
A, E
Compound Symbols:
c2, c6
(9) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^2))) transformation)
Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.
E(c(z0)) → c6(A(z0))
We considered the (Usable) Rules:
d(z0) → z0
And the Tuples:
A(z0) → c2(E(d(z0)))
E(c(z0)) → c6(A(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(A(x1)) = [2] + [2]x12
POL(E(x1)) = [2]x12
POL(c(x1)) = [2] + x1
POL(c2(x1)) = x1
POL(c6(x1)) = x1
POL(d(x1)) = x1
(10) Obligation:
Complexity Dependency Tuples Problem
Rules:
a(b(z0)) → c(d(z0))
a(z0) → e(d(z0))
d(d(z0)) → b(e(z0))
d(z0) → z0
b(z0) → d(c(z0))
e(c(z0)) → d(a(z0))
Tuples:
A(z0) → c2(E(d(z0)))
E(c(z0)) → c6(A(z0))
S tuples:
A(z0) → c2(E(d(z0)))
K tuples:
E(c(z0)) → c6(A(z0))
Defined Rule Symbols:
a, d, b, e
Defined Pair Symbols:
A, E
Compound Symbols:
c2, c6
(11) CdtKnowledgeProof (EQUIVALENT transformation)
The following tuples could be moved from S to K by knowledge propagation:
A(z0) → c2(E(d(z0)))
E(c(z0)) → c6(A(z0))
Now S is empty
(12) BOUNDS(O(1), O(1))